#include "Object3D.h"

#include <string>
using namespace std;

	// Constructor
	Object3D::Object3D(){
		strTexturePath = "";

		vScale = new Vec3f(1.0f,1.0f,1.0f);
		vRotation = new Vec3f(0.0f,0.0f,0.0f);
		vTranslation =  new Vec3f(0.0f,0.0f,0.0f);
		rBoundingBox = new Rectangle();
		fMaxWidth = 32.0f;
		fMaxHeight = 22.0f;
	}
	Object3D::Object3D(string strTexturePath){
		this->strTexturePath = strTexturePath;

		vScale = new Vec3f(1.0f,1.0f,1.0f);
		vRotation = new Vec3f(0.0f,0.0f,0.0f);
		vTranslation =  new Vec3f(0.0f,0.0f,0.0f);
		rBoundingBox = new Rectangle();
		fMaxWidth = 30.0f;
		fMaxHeight = 22.0f;
	}

	// Main Functions
	void Object3D::Update(float deltaTime){
	}
	void Object3D::Draw(){
	}

	// Setters and Getters

	void Object3D::SetScale(Vec3f* vScale){
		this->vScale = vScale;
	}
	void Object3D::SetRotation(Vec3f* vRotation){
		this->vRotation = vRotation;
	}
	void Object3D::SetTranslation(Vec3f* vTranslation){
		this->vTranslation = vTranslation;
	}


	Vec3f Object3D::GetScale(){
		return *vScale;
	}
	Vec3f Object3D::GetRotation(){
		return *vRotation;
	}
	Vec3f Object3D::GetTranslation(){
		return *vTranslation;
	}
	Rectangle Object3D::GetBoundingBox(){
		return *rBoundingBox;
	}
